package cn.yuanqiao.manage.domain;

import cn.yuanqiao.common.annotation.Excel;
import cn.yuanqiao.common.annotation.IdAnnotation;
import cn.yuanqiao.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 元数据方案对象 HDDAMDATAGROUP
 * 
 * @author yuanqiao
 * @date 2023-06-06
 */
public class YqdaMdataGroup extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @IdAnnotation
    @JsonFormat(shape = JsonFormat.Shape.STRING)//转化成string传到前端
    private Long id;

    /** 元数据方案名称 */
    @NotBlank(message = "请输入元数据方案名称")
    @Length(max = 100,message = "不能超过100个字符")
    @Excel(name = "元数据方案名称")
    private String name;

    /** 备注 */
    @Length(max = 100,message = "描述不能超过100个字符")
    @Excel(name = "描述")
    private String description;

    /** 创建人ID */
    @Excel(name = "创建人ID")
    @JsonFormat(shape = JsonFormat.Shape.STRING)//转化成string传到前端
    private Long creatorId;

    /** 是否使用 */
    @Excel(name = "是否使用",readConverterExp = "0=未使用1=已使用")
    private Integer isUse;

    /** 元数据方案类型 */
    @NotNull(message = "请输入方案类型")
    @Excel(name = "元数据方案类型",readConverterExp = "0=组件类型1=组卷类型3=项目类型")
    private Integer type;

    /** 文件每行列数 */
    @Excel(name = "文件每行列数")
    private Integer wjColLength;

    /** 案卷每行列数 */
    @Excel(name = "案卷每行列数")
    private Integer ajColLength;

    /** 排序 */
    @Excel(name = "排序")
    private Integer orderNo;

    @Excel(name = "项目每行列数")
    private Integer xmColLength;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Long getCreatorId() {
        return creatorId;
    }

    public void setCreatorId(Long creatorId) {
        this.creatorId = creatorId;
    }

    public Integer getIsUse() {
        return isUse;
    }

    public void setIsUse(Integer isUse) {
        this.isUse = isUse;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getWjColLength() {
        return wjColLength;
    }

    public void setWjColLength(Integer wjColLength) {
        this.wjColLength = wjColLength;
    }

    public Integer getAjColLength() {
        return ajColLength;
    }

    public void setAjColLength(Integer ajColLength) {
        this.ajColLength = ajColLength;
    }

    public Integer getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(Integer orderNo) {
        this.orderNo = orderNo;
    }

    public Integer getXmColLength() {
        return xmColLength;
    }

    public void setXmColLength(Integer xmColLength) {
        this.xmColLength = xmColLength;
    }

    @Override
    public String toString() {
        return "YqdaMdataGroup{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                ", creatorId=" + creatorId +
                ", isUse=" + isUse +
                ", type=" + type +
                ", wjColLength=" + wjColLength +
                ", ajColLength=" + ajColLength +
                ", orderNo=" + orderNo +
                ", xmColLength=" + xmColLength +
                '}';
    }
}
